package com.bh.wms.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.math.BigDecimal;

/**
 * 库存流水记录
 *
 * @author GPT
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_inventory_log")
@ApiModel(value = "库存流水", description = "库存变更流水")
public class WmsInventoryLog extends BhtmsBaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("库存ID")
    @Excel(name = "库存ID")
    private Long inventoryId;

    @ApiModelProperty("仓库ID")
    @Excel(name = "仓库ID")
    private Long warehouseId;

    @ApiModelProperty("库区ID")
    @Excel(name = "库区ID")
    private Long zoneId;

    @ApiModelProperty("货位ID")
    @Excel(name = "货位ID")
    private Long locationId;

    @ApiModelProperty("SKU ID")
    @Excel(name = "SKU ID")
    private Long skuId;

    @ApiModelProperty("批次号")
    @Excel(name = "批次号")
    private String batchNo;

    @ApiModelProperty("业务类型")
    @Excel(name = "业务类型")
    private String bizType;

    @ApiModelProperty("业务单据号")
    @Excel(name = "业务单据号")
    private String bizNo;

    @ApiModelProperty("变动类型 increase/decrease/lock/unlock/etc")
    @Excel(name = "变动类型")
    private String changeType;

    @ApiModelProperty("变动数量")
    @Excel(name = "变动数量")
    private BigDecimal changeQuantity;

    @ApiModelProperty("变动后库存数量")
    @Excel(name = "变动后库存数量")
    private BigDecimal afterQuantity;

    @ApiModelProperty("备注")
    private String remark;
}

